Numerous existing processor architectures support parallel processing. The earliest such architectures used multiple discrete processors networked together. More recently, multiple processing cores have been fabricated on a single integrated chip. Some multicore processors have been developed for accelerating particular applications, such as physical simulation or graphics applications. In multicore processing, data is distributed to particular processing cores as the data is read from memory. In many cases, the distribution to the processing cores is not balanced, and some cores may be overused while others are underused.